﻿// 4195. 线段覆盖.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/4198/

在一个坐标轴上有 n
 条线段。

每条线段的每个端点的坐标都为整数。

可能存在退化成点的线段。

线段之间可以相互交叉、嵌套甚至重合。

请你计算，对于每个 k∈{1,2,…,n}
，坐标轴中共有多少个整数坐标的点满足恰好被 k
 条线段覆盖。

注意，左右端点分别为 li,ri
 的线段覆盖点 x
 当且仅当 li≤x≤ri
。

输入格式
第一行包含整数 n
。

接下来 n
 行，每行包含两个整数 li,ri
，表示一条线段的左右端点。

输出格式
一行 n
 个整数，其中第 i
 个整数表示坐标轴中满足恰好被 i
 条线段覆盖的整数坐标的点的数量。

数据范围
前三个测试点满足 1≤n≤3
。
所有测试点满足 1≤n≤2×105
，0≤li≤ri≤1018
。

输入样例1：
3
0 3
1 3
3 8
输出样例1：
6 2 1
输入样例2：
3
1 3
2 4
5 7
输出样例2：
5 2 0
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 